package com.dfrz.ch06.tackTeacher;

import com.sun.media.sound.SoftTuning;

/**
 * 程序功能：4个数字：1,2,3,4，求能组成的所有互不相同且无重复数字的三位字及个数
 */
public class ExNumber06 {

	/**
	 * 主函数
	 * @param args
	 */
	public static void main(String args[]) {
		function();
	}

	/**
	 * 求1,2,3,4 组成所有互不相同且无重复数字的三位数及个数
	 * 无参数
	 * return 无返回类型，结果在函数中输出
	 */
	public static void function() {
		// 表示满足要求的所有三位数的个数
		int number = 0;
		// 表示一个三位数
		int[] num3 = new int[3];
		for (int first = 1; first <= 4; first++) {
			num3[0] = first;
			for (int second = 1; second <= 4; second++) {
				num3[1] = second;
				for (int third = 1; third <= 4; third++) {
					num3[2] = third;
					// 为真，输出一个结果
					if (findSameNum(num3)) {
						for (int dex = 0; dex < 3; dex++) {
							System.out.print(num3[dex]);
						}
						number++;
						System.out.println();
					}
				}
			}
		}
		System.out.println("Number:" + number);
	}

	/**
	 * 判断一个长度为3的整形数组中每个元素值是否互不相同
	 * @param num3
	 * @return boolean类型，true表示每个元素值均不相同，false表示存在有两个元素的值相同
	 */
	public static boolean findSameNum(int[] num3) {
		if ((num3[0] != num3[1]) && (num3[0] != num3[2])
				&& (num3[1] != num3[2])) {
			return true;
		} else {
			return false;
		}
	}
}